#ifndef REMOTETHREAD_H
#define REMOTETHREAD_H

#include <Windows.h>
class RemoteThread
{
public:
	RemoteThread(HANDLE processHandle, DWORD(__stdcall*funcAddress)(void*));
	RemoteThread(const RemoteThread&) = delete;
	RemoteThread(RemoteThread&& rhs);

	~RemoteThread(void);


	RemoteThread& operator=(const RemoteThread&) = delete;
	RemoteThread& operator=(RemoteThread&& rhs);

	DWORD Call(void* args);
private:
	HANDLE	m_processHandle;
	HANDLE	m_threadHandle;
	DWORD(__stdcall*m_funcAddress)(void*);
};
#endif